package com.w3c.pragmatic.common.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * redisson属性配置（配置可以配置到配置中心） 参数配置参考：https://blog.csdn.net/qq_25582465/article/details/109311054
 *
 * @author wangdong
 * @since 2021/12/16 18:19
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "redisson")
public class RedissonProperties {

    // 单机 - 连接地址（通过host:port的格式来指定节点地址）
    private String address;

    // 连接密码
    private String password;

    // 等待节点回复命令的时间
    // 这个时间需要设置超过自旋等待时间（否在自旋等待超时）
    private int timeout = 5 * 60 * 1000;

    // 数据库编码0~15，默认使用0号数据库
    private int database = 0;

    // 连接池最大容量 默认值64
    private int connectionPoolSize = 64;

    // 最小保持连接数（长连接）
    private int connectionMinimumIdleSize = 10;

    // 从节点最大连接池容量
    private int slaveConnectionPoolSize = 250;

    // 主节点最大连接池容量
    private int masterConnectionPoolSize = 250;

    // 哨兵 - 连接地址
    private String[] sentinelAddresses;

    // 哨兵 - 主服务器的名称
    private String masterName;
}
